<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../../print.css" type="text/css" media="print">
<meta content="UndoHistoryManager,com.as3undohistory.manage.UndoHistoryManager,currentStack,objectPropertyStackLinks,undoHistory,objectRegistration,addObject,bindProperties,bindProperty,clear,doUndo,endTransaction,handlePropertyChange,removeObject,startTransaction,unbindProperty,undo" name="keywords">
<title>com.as3undohistory.manage.UndoHistoryManager</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../../../asdoc.js"></script><script type="text/javascript" language="javascript" src="../../../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'UndoHistoryManager - API Documentation';
				var baseRef = '../../../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">AS3 Undo History</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../../../all-classes.html')" href="../../../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../all-classes.html')" href="../../../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../index-list.html')" href="../../../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../../../index.html?com/as3undohistory/manage/UndoHistoryManager.html&amp;com/as3undohistory/manage/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../../../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Class&nbsp;UndoHistoryManager</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#propertySummary">Properties</a>&nbsp;| <a href="#methodSummary">Methods</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Class UndoHistoryManager"); titleBar_setSubNav(false,true,false,false,false,false,true,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">com.as3undohistory.manage</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Class</td><td class="classSignature">public class UndoHistoryManager</td>
</tr>
<tr>
<td class="classHeaderTableLabel">Inheritance</td><td class="inheritanceList">UndoHistoryManager <img class="inheritArrow" alt="Inheritance" title="Inheritance" src="../../../images/inherit-arrow.gif"> flash.events.EventDispatcher</td>
</tr>
<tr>
<td class="classHeaderTableLabel">Implements</td><td><a href="IUndoHistoryManager.html">IUndoHistoryManager</a></td>
</tr>
</table>
<p></p>
  <p></p>
<br>
<hr>
</div>
<a name="propertySummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Properties</div>
<table id="summaryTableProperty" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#objectRegistration">objectRegistration</a> : <a href="../register/IObjectRegistration.html">IObjectRegistration</a>
<div class="summaryTableDescription">[read-only]
   
   
   An implementation of IObjectRegistration which takes care of analyzing the metadata of the objects being registered
   </div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
</table>
</div>
<a name="protectedPropertySummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Protected Properties</div>
<table id="summaryTableProtectedProperty" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#currentStack">currentStack</a> : Array<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#objectPropertyStackLinks">objectPropertyStackLinks</a> : Dictionary<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#undoHistory">undoHistory</a> : Array<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
</table>
</div>
<a name="methodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Methods</div>
<table id="summaryTableMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#UndoHistoryManager()">UndoHistoryManager</a>(objectRegistration:<a href="../register/IObjectRegistration.html">IObjectRegistration</a>, target:IEventDispatcher = null)</div>
<div class="summaryTableDescription">
   Creates a new instance of UndoHistoryManager
   </div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#addObject()">addObject</a>(instance:Object):void</div>
<div class="summaryTableDescription">
   
   
   Starts the process of recording property changes on the specified instance 
   </div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#clear()">clear</a>(clearRegistration:Boolean = false):void</div>
<div class="summaryTableDescription">
   
   Clears the undohistory for all registred objects.</div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#endTransaction()">endTransaction</a>():void</div>
<div class="summaryTableDescription">
   
   Ends the current transaction.</div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#removeObject()">removeObject</a>(instance:Object):void</div>
<div class="summaryTableDescription">
   
   Ends the process of recording property changes on the specified instance by removing the object
   registration objects
   </div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#startTransaction()">startTransaction</a>():void</div>
<div class="summaryTableDescription">
   
   Starts a transaction.</div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#undo()">undo</a>():void</div>
<div class="summaryTableDescription">
   
   Retrieves the last property change and sets it back to the previous value.</div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
</table>
</div>
<a name="protectedMethodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Protected Methods</div>
<table id="summaryTableProtectedMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#bindProperties()">bindProperties</a>(propertyStacks:Array):void</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#bindProperty()">bindProperty</a>(propertryStack:<a href="IPropertyValueStack.html">IPropertyValueStack</a>):void</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#doUndo()">doUndo</a>(propertyValueStack:<a href="IPropertyValueStack.html">IPropertyValueStack</a>):void</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#handlePropertyChange()">handlePropertyChange</a>(event:Event):void</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#unbindProperty()">unbindProperty</a>(propertryStack:<a href="IPropertyValueStack.html">IPropertyValueStack</a>):void</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">UndoHistoryManager</td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<a name="propertyDetail"></a>
<div class="detailSectionHeader">Property detail</div>
<a name="currentStack"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">currentStack</td><td class="detailHeaderType">property</td>
</tr>
</table>
<div class="detailBody">
<code>protected var currentStack:Array</code>
</div>
<a name="objectPropertyStackLinks"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">objectPropertyStackLinks</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected var objectPropertyStackLinks:Dictionary</code>
</div>
<a name="objectRegistration"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">objectRegistration</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>objectRegistration:<a href="../register/IObjectRegistration.html">IObjectRegistration</a></code>&nbsp;&nbsp;[read-only]<p>
   
   
   An implementation of IObjectRegistration which takes care of analyzing the metadata of the objects being registered
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get objectRegistration():<a href="../register/IObjectRegistration.html">IObjectRegistration</a></code>
<br>
</div>
<a name="undoHistory"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">undoHistory</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected var undoHistory:Array</code>
</div>
<a name="constructorDetail"></a>
<div class="detailSectionHeader">Constructor detail</div>
<a name="UndoHistoryManager()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">UndoHistoryManager</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">constructor</td>
</tr>
</table>
<div class="detailBody">
<code>public function UndoHistoryManager(objectRegistration:<a href="../register/IObjectRegistration.html">IObjectRegistration</a>, target:IEventDispatcher = null)</code><p>
   Creates a new instance of UndoHistoryManager
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">objectRegistration</span>:<a href="../register/IObjectRegistration.html">IObjectRegistration</a></code></td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">target</span>:IEventDispatcher</code> (default = <code>null</code>)<code></code></td>
</tr>
</table>
</div>
<a name="methodDetail"></a>
<div class="detailSectionHeader">Method detail</div>
<a name="addObject()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">addObject</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td>
</tr>
</table>
<div class="detailBody">
<code>public function addObject(instance:Object):void</code><p>
   
   
   Starts the process of recording property changes on the specified instance 
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">instance</span>:Object</code></td>
</tr>
</table>
</div>
<a name="bindProperties()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">bindProperties</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function bindProperties(propertyStacks:Array):void</code><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">propertyStacks</span>:Array</code></td>
</tr>
</table>
</div>
<a name="bindProperty()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">bindProperty</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function bindProperty(propertryStack:<a href="IPropertyValueStack.html">IPropertyValueStack</a>):void</code><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">propertryStack</span>:<a href="IPropertyValueStack.html">IPropertyValueStack</a></code></td>
</tr>
</table>
</div>
<a name="clear()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">clear</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function clear(clearRegistration:Boolean = false):void</code><p>
   
   Clears the undohistory for all registred objects. 
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">clearRegistration</span>:Boolean</code> (default = <code>false</code>)<code></code> &mdash; if true than all object registration information will be deleted as well.
   
   </td>
</tr>
</table>
</div>
<a name="doUndo()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">doUndo</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function doUndo(propertyValueStack:<a href="IPropertyValueStack.html">IPropertyValueStack</a>):void</code><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">propertyValueStack</span>:<a href="IPropertyValueStack.html">IPropertyValueStack</a></code></td>
</tr>
</table>
</div>
<a name="endTransaction()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">endTransaction</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function endTransaction():void</code><p>
   
   Ends the current transaction. 
   
   </p></div>
<a name="handlePropertyChange()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">handlePropertyChange</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function handlePropertyChange(event:Event):void</code><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">event</span>:Event</code></td>
</tr>
</table>
</div>
<a name="removeObject()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">removeObject</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function removeObject(instance:Object):void</code><p>
   
   Ends the process of recording property changes on the specified instance by removing the object
   registration objects
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">instance</span>:Object</code></td>
</tr>
</table>
</div>
<a name="startTransaction()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">startTransaction</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function startTransaction():void</code><p>
   
   Starts a transaction. All property changes that happen within one transaction will be undone when
   the undo method is called. 
   
   </p></div>
<a name="unbindProperty()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">unbindProperty</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function unbindProperty(propertryStack:<a href="IPropertyValueStack.html">IPropertyValueStack</a>):void</code><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">propertryStack</span>:<a href="IPropertyValueStack.html">IPropertyValueStack</a></code></td>
</tr>
</table>
</div>
<a name="undo()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">undo</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function undo():void</code><p>
   
   Retrieves the last property change and sets it back to the previous value. 
   
   </p></div>
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright">This library is open-source, feel free to use it whichever way you like</center>
</div>
</body>
</html>
<!--This library is open-source, feel free to use it whichever way you like-->
